// console.log(global)
// setInterval(() => {
//   console.log('interval')
// }, 1000);
// setTimeout(() => {
//   console.log('setTimeout')
// }, 0);
// // queueMicrotask(() => {
// //   console.log('queueMicrotask')
// // })
// setImmediate(() => {
//   console.log('setImmediate')
// })
// console.log(process.platform) // 告诉我们当前执行文件所在的系统 win32代表的是windows系统；darwin 代表的是mac系统
// console.log(process.arch)  // 返回的是当前的系统
// console.log(process.cwd()) //执行名的 目录（在哪个路径下执行的这个文件）
// console.log(process.env)  //返回的是电脑的环境变量
// console.log(process.argv) // 第一项是执行程序所在目录  第二项是执行文件所在目录
//                              这个属性一般是用来获取行内命令的参数的
//                            commander 命令行管家




// windows:set NODE_ENV=development&& node 2_node的全局变量.js   //CROSS-ENV
// mac: export NODE_ENV=development&& node 2_node的全局变量.js 
//  这种方式设置的环境变量是临时的

// if (process.env.NODE_ENV == 'production') {
//   console.log("生产观景")
// } else if (process.env.NODE_ENV == 'development') {
//   console.log("开发观景")
// } else {
//   console.log(process.env.NODE_ENV == 'development')
//   console.log('development'.length)
//   console.log(process.env.NODE_ENV.length)
// }

// console.log(process.argv.slice(2))
// let args = process.argv.slice(2)
// let obj = args.reduce((prev, cur, index, arr) => {
//   if (cur.includes('--')) {
//     let val = arr[index + 1];
//     if (val && val.includes('--')) {
//       prev[cur.slice(2)] = true
//     } else if (!val) {
//       prev[cur.slice(2)] = true
//     } else {
//       prev[cur.slice(2)] = arr[index + 1]
//     }
//   }
//   return prev
// }, {})
// console.log(obj)

const { program } = require('commander');
program.version('10.0.1');
program
  .option('-d, --debug', 'output extra debugging')
  .option('-s, --small <v>', 'small pizza size')
  .option('-p, --ppp <type>', 'flavour of pizza')
  .command('qqq').action(() => {
    console.log("执行了qqq")
  })
program.parse(process.argv);
const options = program.opts();
console.log(options)